<?php

namespace App\Http\Requests;

use Illuminate\Support\Arr;
use Illuminate\Validation\Rule;

class SaveUserInfoRequest extends BaseRequest
{
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {

        return [
            'name' => 'required',
            'mobile' => [
                'required',
                'regex:/^1[3456789]{1}\d{9}$/',
                Rule::unique('users' , 'phone')->ignore(Arr::get(session('loginUser') , 'id')),
            ],
            'id_card' => [
                'required',
                'max:18',
                function ($attribute, $value, $fail) {
                    if(!$this->checkIdentityCard($value)){
                        $fail('身份证 格式错误');
                    }
                },
                Rule::unique('users')->ignore(Arr::get(session('loginUser') , 'id')),
            ],
        ];
    }

    public function messages()
    {
        return [
            'name.required' => '昵称 不能为空',

            'mobile.required' => '手机号 不能为空',
            'mobile.regex' => '手机号 格式不正确',
            'mobile.unique' => '手机号 已存在',

            'id_card.required' => '身份证 不能为空',
            'id_card.max' => '身份证 格式不正确',
            'id_card.unique' => '身份证 已存在',
        ];
    }
}
